negotiator.boaframework
Class OpponentModel

java.lang.Object
  extended by negotiator.boaframework.OpponentModel

public abstract class OpponentModel
extends java.lang.Object

Describes an opponent model of an agent of the BOA framework. Tim Baarslag, Koen Hindriks, Mark Hendrikx, Alex Dirkzwager and Catholijn M. Jonker. Decoupling Negotiating Agents to Explore the Space of Negotiation Strategies

Author:
Alex Dirkzwager, Mark Hendrikx

Constructor Summary
OpponentModel()
           
 
Method Summary
 void cleanUp()
          Removes references to the objects used by the opponent model.
 double getBidEvaluation(Bid bid)
          Determines the utility of a bid according to the preference profile.
 double[] getIssueWeights()
           
 java.lang.String getName()
           
 UtilitySpace getOpponentUtilitySpace()
           
 double getWeight(Issue issue)
          Returns the weight of a particular issue in the domain.
 void init(NegotiationSession negotiationSession)
          Alternative init method to initialize the model without setting parameters.
 void init(NegotiationSession negotiationSession, java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          Initializes the model.
 boolean isCleared()
           
 void setOpponentUtilitySpace(negotiator.protocol.BilateralAtomicNegotiationSession fNegotiation)
          Method which may be overwritten by an opponent model to get access to the opponent's utilityspace.
 void setOpponentUtilitySpace(UtilitySpace opponentUtilitySpace)
          Method which may be overwritten by an opponent model to get access to the opponent's utilityspace.
 void updateModel(Bid opponentBid)
          Method used to update the opponent model.
abstract  void updateModel(Bid bid, double time)
          Method used to update the opponent model.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OpponentModel

public OpponentModel()
Method Detail

init

public void init(NegotiationSession negotiationSession,
                 java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          throws java.lang.Exception
Initializes the model. The init method should always be called after creating an opponent model.

Parameters:
negotiationSession - reference to the state of the negotiation
parameters -
Throws:
java.lang.Exception

init

public void init(NegotiationSession negotiationSession)
Alternative init method to initialize the model without setting parameters.

Parameters:
negotiationSession - reference to the state of the negotiation

updateModel

public void updateModel(Bid opponentBid)
Method used to update the opponent model.

Parameters:
opponentBid -

updateModel

public abstract void updateModel(Bid bid,
                                 double time)
Method used to update the opponent model.

Parameters:
bid - to update the model with.
time - at which the bid was offered.

getBidEvaluation

public double getBidEvaluation(Bid bid)
Determines the utility of a bid according to the preference profile.

Parameters:
bid - of which the utility is calculated.
Returns:
Utility of the bid

getOpponentUtilitySpace

public UtilitySpace getOpponentUtilitySpace()
Returns:
the estimated utility space of the opponent

setOpponentUtilitySpace

public void setOpponentUtilitySpace(negotiator.protocol.BilateralAtomicNegotiationSession fNegotiation)
Method which may be overwritten by an opponent model to get access to the opponent's utilityspace.

Parameters:
fNegotiation -

setOpponentUtilitySpace

public void setOpponentUtilitySpace(UtilitySpace opponentUtilitySpace)
Method which may be overwritten by an opponent model to get access to the opponent's utilityspace.

Parameters:
opponentUtilitySpace -

getWeight

public double getWeight(Issue issue)
Returns the weight of a particular issue in the domain.

Parameters:
issue - from which the weight should be returned
Returns:
weight of the given issue

getIssueWeights

public double[] getIssueWeights()
Returns:
set of all estimated issue weights.

cleanUp

public void cleanUp()
Removes references to the objects used by the opponent model.


isCleared

public boolean isCleared()
Returns:
if the opponent model is in a usable state.

getName

public java.lang.String getName()
Returns:
name of the opponent model.